{\fad(200,200)\pos(926.41,746.42)}免责声明 1/2:\N
所有由我录制的游戏画面均使用了我自行编译的Eaglercraft版本,该版本基于我购买的正版Minecraft。\N
任何指向已编译完成的Eaglercraft版本的URL均被故意模糊处理。\N
我不支持或鼓励任何人下载或游玩盗版Minecraft。
Did you know that you can simply open a single HTML file
你知道你可以直接打开一个HTML文件或网页URL,在网页浏览器中立即玩到完整的Minecraft Java版
or web URL and instantly Play the full version of Minecraft Java Edition in your web browser
Well my lawyer told me to say no
And put this disclaimer on screen
{\fad(0,200)\frz22.57\pos(808.24,418.24)}免责声明 2/2:\N
本视频是为教育和信息目的而创建,旨在讨论名为Eaglercraft的软件。\N
视频中的内容提供用于批判性分析、评论和报道目的。\N
视频中包含的材料根据美国版权法第17编第107条“合理使用”的指导原则使用。\N
本视频不支持或推广未经授权使用Minecraft或任何相关软件。
But regardless I'm going to tell you the story about how a very dedicated developer
made Minecraft Java Edition run entirely within a web browser
我很乐意讲述这位非常敬业的开发者如何让Minecraft Java版完全在网页浏览器中运行的故事
How became insanely popular and all the controversies that came with doing that
{\fscx83\fscy93}Especially when it came to Mojang's lawyers which is why I'm taking a huge risk when uploading this video
特别是涉及到Mojang的律师时,这就是为什么我在上传这个视频时冒了很大的风险
But I'm doing it for you guys
{\fad(200,200)\pos(966.29,154.77)}翻译/压制/字幕制作:HAF半个水果\N
翻译基于自动生成的英语字幕,如不准确,请在弹幕或评论区打出你认为正确的翻译
It all started with a player by the name of {\c&H00EAFF&}lax 1 dude
一切的开始就要从一个名叫 {\c&H00EAFF&}lax 1 dude {\r}的玩家开始讲起
2020年,他认为让我的世界再次在网页浏览器中运行会非常酷
Because as of 2016 running regular Java Minecraft
in a modern web browser is no longer supported
因为在2016年之后,现代网页浏览器不再支持运行常规的Java版我的世界
So his idea was to get the entire game to run using JavaScript
所以他的想法是使用JavaScript让整个游戏运行起来
Now the JavaScript programming language which is different from regular Java
现在的JavaScript编程语言与常规的Java是不一样的
Can in fact run in a web browser
and is actually used in at least some form on 98% of websites on the internet
可以在网络浏览器中运行,并且至少以某种形式被用于互联网上98%的网站
Even my own website uses JavaScript
{\fscx90\fscy103}If he could somehow pull this off it would be an incred incredible feat of Minecraft engineering
如果他能完成这件事,那将是我的世界工程学上的一个令人难以置信的壮举
So {\c&H00EAFF&}lax{\r} went to work. to get Minecraft Java to run on JavaScript
the entire game would have to be compiled with a tool called {\c&H00EAFF&}TeaVM{\r}
{\c&H00EAFF&}lax{\r}开始制作。要让我的世界Java版在JavaScript中运行,整个游戏必须通过一个名为{\c&H00EAFF&}TeaVM{\r}的工具进行编译
Which essentially makes regular Java applications work in JavaScript
这个工具使得常规的Java应用程序能够在JavaScript环境中运行
But it unfortunately wasn't that simple
{\fscx85\fscy116}if you know anything about programming your program will usually require dependencies which are basically
pieces of other code that your program depends on to be able to run
如果你对编程有所了解,你会知道你的程序通常会依赖于一些外部库或模块,这些被称为依赖项\n
它们基本上是你的程序运行所依赖的其他代码片段
it's kind of like ingredients when baking a cake you depend on eggs being in your recipe
Otherwise your cake won't set properly
One of those ingredients or dependencies that Minecraft needs is something called {\c&H00EAFF&}LW{\b1}JGL
我的世界所需的一个依赖项是名为{\c&H00EAFF&}LW{\b1}JGL{\r}的库
which is the primary backbone of the entire game. without it Minecraft will not run at all
You see the problem is that {\c&H00EAFF&}LW{\b1}JGL{\r} cannot be compiled with {\c&H00EAFF&}TeaVM{\r}
问题在于{\c&H00EAFF&}LW{\b1}JGL{\r}无法通过{\c&H00EAFF&}TeaVM{\r}进行编译
{\fscx96\fscy100}Even worse Minecraft versions 1.6 and above required even more dependencies than just that
更糟糕的是,我的世界1.6及以上版本需要的依赖项还要更多
So for his first version of the project
he compromised with using Minecraft version 1.5 as his guinea pig
Which was originally released all the way back in 2013
{\fs30\fscx107\fscy153}Now {\c&H00EAFF&}lax's{\r} {\fs30\fscx107\fscy153}solution with getting {\c&H00EAFF&}LW{\b1}JGL{\r}{\fs30\fscx107\fscy153} to work was to spend an entire month manually rewriting the entire dependency from scratch
现在,{\c&H00EAFF&}Lax{\r}的解决方案是花费整整一个月的时间,手动从头开始重写整个{\c&H00EAFF&}LW{\b1}JGL{\r}依赖项
To have compatibility with {\c&H00EAFF&}TeaVM{\r} therefore making it work in JavaScript
为了使其与{\c&H00EAFF&}TeaVM{\r}兼容,从而在JavaScript中运行
But this was only one of the many issues he had to deal with
Other issues included having to get the graphics to work properly
fix lag issues caused by JavaScript by rewriting multiple parts of the game
其他问题包括需要正确处理图形,解决由JavaScript引起的延迟问题,通过重写游戏的多个部分来修复这些问题
And making servers function properly it took many months of programming and testing
But near the end of 2020 the fully ported web version of Minecraft 1.5
which he called eagler craft was pretty much complete and mostly stable
但在2020年底,他称之为Eaglercraft的完全移植的网页版我的世界1.5版本基本上已经完成且变得相当稳定
A few years later in May of 2022
{\c&H00EAFF&}lax{\r} decided to step up his game with eaglercraft and update to Minecraft release 1.8
{\c&H00EAFF&}Lax{\r}决定升级Eaglercraft,将其更新到我的世界1.8版本
He chose this version to update to because it was his favorite
and there was still wide support for it on many Minecraft servers including Hypixel
他选择这个版本,因为这是他最喜欢的版本,并且在许多我的世界服务器上仍然有广泛的支持,包括Hypixel
But this of course required even more dependencies that
he would have to modify to make work on JavaScript
但这当然需要更多的依赖项,他必须修改这些依赖项以使其在JavaScript中正常工作
Plus many other modifications where if I discussed all of them
此外,还有许多其他修改,如果我要讨论所有这些修改,那将会非常详细
This video would be way too long
So another developer by the name of {\c&H00EAFF&}ayunami2000
would also help out where LAX would otherwise get stuck
另一位名为{\c&H00EAFF&}ayunami2000{\r}的开发者也会在{\c&H00EAFF&}Lax{\r}遇到困难时提供帮助
{\c&H00EAFF&\pos(916.63,808.25)\fad(200,200)}ayunami2000{\r}增加了语音聊天+其它额外功能
Also keep in mind that all of this work on making eagler craft 1.8 was done in secret
还要记住,所有这些关于制作Eaglercraft 1.8的工作都是秘密进行的
As {\c&H00EAFF&}Lax{\r} didn't want to make false promises if they couldn't end up getting it to work
因为{\c&H00EAFF&}Lax{\r}不想在最终无法使其工作时做出虚假的承诺
But they eventually pulled it off and it took over 7 months to
{\c&H00EAFF&}Lax{\r} called this version of eaglercraft EaglercraftX
{\c&H00EAFF&}Lax{\r}将这个版本的Eaglercraft称为EaglercraftX
Now of course I have to explain why this project was called eaglercraft to begin with
当然,我需要解释为什么这个项目最初被称为Eaglercraft
Basically when {\c&H00EAFF&}Lax{\r} was in Middle School
基本上,当{\c&H00EAFF&}Lax{\r}还在中学时
{\move(958.99,1060,960,978.54,2753,2320)}he thought it would be funny to develop a secret language
{\move(959.33,1007.85,960.22,922.75,2753,2320)}他认为开发一种秘密语言会很有趣
{\fad(200,200)\pos(948.88,1064.56)}是的,这张表全是{\c&H00EAFF&}lax 1 dude {\r}做的
{\pos(955.18,974.95)}One of the words in his language was {\c&H00EAFF&}eagler{\r} which means someone who eats eagle eggs
{\pos(964.82,929.64)}在他的语言中,有一个词是{\c&H00EAFF&}eagler{\r},意思是吃鹰蛋的人
And was meant to be used as an insult
{\c&H00EAFF&}Lax{\r} knew that if eaglecraft got popular most of the player base would be middle schoolers
{\c&H00EAFF&}Lax{\r}知道,如果Eaglecraft变得流行,大部分玩家将会是中学生
{\fscx95\fscy100}So he named his browser Port of Minecraft after {\c&H00EAFF&}eagler{\r} from his middle school secret language
因此,他以中学秘密语言中的{\c&H00EAFF&}eagler{\r}命名了他的Minecraft浏览器端口
In hopes that would enter the everyday language of other middle schoolers
This dream would eventually become a reality
as eaglercraft became insanely popular with students in middle school
因为Eaglercraft在中学学生中变得非常流行
{\pos(955.19,846.2)\fad(200,200)}观察“eaglercraft”的谷歌搜索如何与上学季节相对应
And would typically refer to eaglercraft as just eagler
并且通常会将EaglerCraft简称为Eagler
Now there's many reasons why eagler ccraft became so popular
现在有很多原因可以解释为什么EaglerCraft变得如此流行
The first thing is pretty obvious it's free and open source
But of course the legality of that is quite questionable
As we all know what happened to Minecraft forfree.com
正如我们都知道的,Minecraftforfree.com发生了什么
{\pos(1504.22,925.95)}*HAF:关于这个网站的视频,站内已有人翻译*
The only difference now is instead of Notch playing Quake over the whole ordeal
现在唯一的区别是,不再是Notch在整个事件中玩Quake
Minecraft is owned by a multi-billion doll company
with multi-billion dollar company lawyers to back them
Minecraft现在属于一家拥有数十亿美元资产的公司,并且有数十亿美元的公司律师支持他们
And we'll be talking a lot about that shortly
The second reason why eagler craft is so popular is that it's extremely accessible
Eaglercraft之所以如此受欢迎,第二个原因是它极其易于访问
Searching Google for eaglercraft will show you
a plethora of websites that host the eaglercraft client
在Google上搜索Eaglercraft会显示大量托管Eaglercraft客户端的网站
And because it's open source
and now they're hosting an instance of eaglercraft
In fact {\c&H00EAFF&}Lax's{\r} intentionally designed eaglercraft to run locally from a single HTML file
事实上,{\c&H00EAFF&}Lax{\r}有意设计Eaglercraft使其能够从单个HTML文件本地运行
That's less than 15 megabytes in size
Eaglercraft的单个HTML文件大小不到 15 MB
For comparison just the assets of regular Minecraft 1.8 are over 100 megabytes
相比之下,常规Minecraft 1.8的资源文件大小就超过了100 MB
The way this was done was by removing everything unnecessary in compressing what was
这是通过移除所有不必要的内容并压缩剩余部分来实现的
For instance all of the music for the game was removed
and the sounds and some of the textures had compression added to them
例如,游戏中的所有音乐都被移除了,声音和一些纹理也做了压缩处理
Now because eaglercraft can be played locally from a file
it also means that it can even be played without going to a website hosted on the internet
由于Eaglercraft可以从本地文件运行,也意味着它甚至可以在不访问互联网上的托管网站的情况下进行游戏
This is why eaglercraft is so popular with school students
这就是为什么Eaglercraft在学生群体中如此受欢迎的原因
As the it departments usually block these kinds of websites
on school Wi-Fi which triggered a few of them
由于学校的IT部门通常会屏蔽这些类型的网站,这反而激发了一些学生的兴趣
{\pos(687.39,940.96)}使用Google管理控制台阻止Eaglercraft在学校的Chromebook上运行
Now aside from dodging school it admins eaglercraft is also popular
because it can play on almost any hardware
除了躲避学校IT管理员的限制外,Eaglercraft还因其几乎可以在任何硬件上运行而受欢迎
Including Chromebooks that a lot of schools now provide to students
But other people got creative and I've also gotten the game
to launch on appliances like a Samsung fridge
但其他人很有创意,我也成功让游戏在一些家用电器上运行,比如三星冰箱
{\pos(949.61,967.84)}and even a Tesla Model X
{\pos(952.21,921.49)}甚至在一辆特斯拉Model X上
{\pos(950.91,1064.28)\fad(200,200)}*现在展示的是Model Y
Only problem is you can't really connect a mouse and keyboard to a car
so you couldn't actually move around in a world
{\fscx98\fscy100}Regardless I wonder what Hardware people will try to run eaglerCraft on next or should they
无论如何,我想知道人们接下来会尝试在什么硬件上运行Eaglercraft,或者他们是否应该这样做
I guess that brings me to the legality part of this whole project
Obviously eagler craft distributed in its compiled form certainly breaks the Minecraft EULA
显然,以编译形式分发的Eaglercraft确实违反了我的世界最终用户许可协议
as it says in quote you must not distribute anything we've made
But {\c&H00EAFF&}Lax{\r} thought of this
但{\c&H00EAFF&}Lax{\r}了解到了这一点
For eaglercraftX he had the idea to mimic projects like Minecraft mods
by publishing his code in the form of patches that are applied to the games code
instead of just illegally uploading a full copy of the decompiled
Minecraft 1.8 source code to the internet
通过补丁的形式发布他的代码,应用于游戏,而不是仅仅非法上传完整的反编译我的世界1.8源代码到互联网上
But in practice this didn't really end up working
Because basically all the websites that hosted eaglercraft
distributed the whole compiled copy anyways
因为基本上所有托管Eaglercraft的网站最终都分发了整个编译后的副本
and of course it wouldn't be long until Mojang had enough
and would start cracking down on eaglercraft
当然,不久之后,Mojang就会采取行动,开始打击Eaglercraft
In November of 2022 the first recorded MCA takedown request
for anything eaglecraft related was sent to a Chinese eaglecraft server
2022年11月,第一个与Eaglercraft相关的数字千年版权法案删除请求发送给一个中国Eaglercraft服务器
by an agency called app detex who have a contract with Mojang's parent company
由一家名为App Detex的机构发出,该机构与Mojang的母公司签订了合同
Microsoft that allows them to submit dmca takedown requests on their behalf
Now for those who don't know what a dmca takedown request is
dmca stands for Digital Millennium Copyright Act
现在,对于那些不知道什么是DMCA删除请求的人来说,DMCA代表数字千年版权法
which is a US law that protects copyright owners from illegal copying of their software
这是一项美国法律,旨在保护版权所有者免受其软件的非法复制
and the dmca takedown requests are formal notices
sent to potential offenders requesting to remove the content
而DMCA删除请求是发送给潜在侵权者的正式通知,要求他们移除相关内容
they claim is being used illegally
Usually if you don't comply with the request the owners
of the copyrighted software could take legal action against you
通常情况下,如果你不遵守删除请求,版权软件的所有者仍可能对你采取法律行动
Anyways this dmca takedown of that Chinese server
took {\c&H00EAFF&}Lax{\r} by surprise and he didn't want to take any chances
无论如何,这次针对中国服务器的DMCA删除请求让{\c&H00EAFF&}Lax{\r}感到意外,他不想冒险
So he decided to delete his GitHub repository for eaglercraft
因此,他决定删除他的GitHub上的Eaglercraft仓库
but of course he let people know beforehand thus giving
但他事先通知了人们,因此给了超过2000人机会去Fork这个项目
which ended up making it pretty annoying for Mojang to dmca every single one
这最终使得Mojang对每一个Fork进行DMCA删除请求变得相当麻烦
Shortly after {\c&H00EAFF&}Lax{\r} deleted the entire project from his GitHub account
不久之后,{\c&H00EAFF&}Lax{\r}从他的GitHub账户中删除了整个项目
Successfully putting it out of Mojang's reach
{\fscx97\fscy98}Or so he thought just a few days later {\c&H00EAFF&}Lax{\r} {\fscx97\fscy98}found himself inundated with dmca takedown requests
只是他这么认为,仅仅几天后,{\c&H00EAFF&}Lax{\r}发现自己被DMCA删除请求淹没
This time coming directly from Mojang's headquarters
First on his GitHub account for a copy of a Minecraft Beta 1.3 version of eaglercraft
首先针对他在GitHub账户上的一个我的世界Beta 1.3版本的Eaglercraft副本,他忘记删除了
Then on some of his websites that hosted eaglercraft and on some Google Drive links he shared
然后是他在一些托管Eaglercraft的网站上,以及他分享的一些Google Drive链接
{\c&H00EAFF&}Lax{\r} also found out that two dmca were even sent to his ISP due to him hosting eaglerCraft on it
{\c&H00EAFF&}Lax{\r}还发现,由于他在其上托管Eaglercraft,他的ISP甚至收到了两份DMCA通知
{\pos(1671.4,934.47)}*ISP:网络服务提供商*
and on top of all of this Mojang allegedly contacted Discord and had his server deleted
除此之外,据称Mojang还联系了Discord,并要求删除他的服务器
and his account terminated in response
{\c&H00EAFF&}Lax{\r} decided to permanently remove all of the eagle aircraft content from those sources
他的账户被封禁,作为回应,{\c&H00EAFF&}Lax{\r}决定从这些来源中永久删除所有Eaglercraft内容
as you don't want to mess with dmca requests
Now after all of this {\c&H00EAFF&}Lax{\r} would abandon eaglercraft
after all what he was doing was breaking copyright law
在这一切之后,{\c&H00EAFF&}Lax{\r}决定放弃Eaglercraft,毕竟他所做的是违反版权法的行为
and Mojang was firing back hard
It was time to give up retire quit
Despite multiple takedown requests
{\c&H00EAFF&}Lax{\r} got right back to work on eaglecraft continuing to edit on a GitHub alternative called gitlab
{\c&H00EAFF&}Lax{\r} 在eaglecraft项目上立即重新投入,继续在名为 GitLab 的 GitHub 替代平台上进行
and improving it even more
Until Mojang contacted gitlab and demanded that
all of his repositories and account should be deleted
直到 Mojang 联系了 GitLab,并要求删除他所有的仓库和账户
So pretty much from here the cycle of dmca takedowns
and re-uploading of eagler craft to other platforms continued over and over again
从这里开始,Eaglercraft 的 DMCA 下架和重新上传到其他平台的循环就不断重复着
which included {\c&H00EAFF&}Lax's{\r} own postings as well as multiple
eaglercraft servers and forks of the project
其中包括 {\c&H00EAFF&}Lax{\r} 自己的发布以及多个 Eaglercraft 服务器、项目的分支
At this point Mojang was sending out so many dmca takedown requests
that their legal team even created a template for dmca takedown
requests to send to suspected offenders
在这一点上,Mojang发出如此多的 DMCA 删除请求,以至于他们的法律团队甚至创建了一个模板,以便发送给涉嫌侵权者
In total {\c&H00EAFF&}Lax{\r} received eight dmca takedown requests and possibly
hundreds more were handed out to others hosting eaglercraft in any way shape or form
{\c&H00EAFF&}Lax{\r} 总共收到了8份 DMCA下架请求,可能还有数百份请求是以任何方式或形式托管 eaglercraft 的人发出的
Even countless YouTube videos talking about eaglercraft
were DMCA so by me uploading this video
即使无数关于 Eaglercraft 的 YouTube 视频也被 DMCA 了,所以上传这个视频
I'm taking a massive risk myself
At this point it was very obvious that Mojang wanted eaglercrafts to be gone
在这一点上,很明显 Mojang 想要 Eaglercraft 消失
So as one final attempt to appease Mojang
{\c&H00EAFF&}Lax{\r} created a repository on his GitHub account with a message to Mojang
{\c&H00EAFF&}Lax{\r} 在他的 GitHub 账户上创建了一个仓库,并向 Mojang 发送了一条消息
offering them the source code to eagler craft for official use on minecraft.net
with the reason being that eagler craft runs so well on low-end Hardware like Chromebooks
提供他们 EaglerCraft 的源代码,以便在minecraft.net上正式使用,理由是 EaglerCraft 在低端硬件如 Chromebook上运行良好
which could be useful for use in the official game
but unfortunately Mojang didn't respond to this
probably because they just weren't interested
但不幸的是,Mojang 没有对此作出回应,可能是因为他们对此不感兴趣
actually came out of all of these dmca takedown requests
现在此时,你可能在想这些 DMCA 删除请求是否真的有任何结果
Well turns out not as Mojang hasn't actually sued anyone over eaglercraft yet
结果是,Mojang 还没有因为 Eaglercraft 起诉过任何人
I'm not a lawyer so I can only speculate as to why this is the case
it could be the fact that {\c&H00EAFF&}Lax{\r} refuses to accept any money whatsoever for his project
这可能是因为 {\c&H00EAFF&}Lax{\r} 拒绝为他的项目接受任何资金
After all {\c&H00EAFF&}Lax{\r} told me that the only reason he's still working on the eaglecraft project
is because he just likes the challenge of making Minecraft run in a web browser
毕竟,{\c&H00EAFF&}Lax{\r} 告诉我,他继续进行 Eaglercraft 项目的唯一原因是他喜欢挑战在网页浏览器中运行我的世界
So if there's no financial gain behind it Mojang
may see that as a lesser threat to their bottom line
所以如果没有经济利益,Mojang 可能会将其视为对他们威胁较小
Although other websites hosting eaglercraft making money off ads may be a different story
尽管其他托管 Eaglercraft 的网站通过广告赚钱可能是另一回事
So that's the story of eaglercraft for now who knows what will happen to it next
所以这就是目前 Eaglercraft 的故事,谁知道接下来会发生什么
Maybe eaglecraft will update to an even later version of Minecraft
也许 Eaglercraft 会更新到更高版本的我的世界
Unless Mojang shuts it down before then
So I guess I'll just have to be keeping my eagle eyes on this project
{\fad(200,200)\pos(966.29,144.39)}原标题:The Story of Eaglercraft 原作者:SalC1 原视频上传日期:2024年5月8日
{\fad(200,200)\pos(901.38,93.77)}翻译/压制/字幕制作:HAF半个水果\N
一分钟的字幕制作大概需要五分钟的时间,喜欢本视频请免费支持一下 ( •̀ ω •́ )✧